package test.day03;

public class MaximumSubarray {
	public int maxSubArray(int[] nums) {
		int result = nums[0];
		int sum = 0;
		for (int num : nums) {
			if (sum > 0) {
				sum = sum + num;
			} else {
				// 加到当前值时求和变小，重新从当前位置开始累积
				sum = num;
			}
			result = result > sum ? result : sum;
		}
		return result;
	}

	public static void main(String[] args) {
		MaximumSubarray maximumSubarray = new MaximumSubarray();
		int[] nums = new int[]{-2,1,-3,4,-1,2,1,-5,4};
		System.out.println(maximumSubarray.maxSubArray(nums));
	}
}
